Architectural Technical Debt: Models and Impact
نویسنده
چکیده
A known problem in large software companies is to balance the prioritization of short-term with long-term responsiveness. To illustrate such a phenomenon, a financial metaphor has been coined, which relates taking sub-optimal decisions in order to meet short-term goals to taking a financial debt, which has to be repaid with interests in the long term. Such a concept is referred to as Technical Debt (TD), and recently it has been recognized as a useful basis for the development of theoretical and practical frameworks (Kruchten et al., 2012). Tom et al. (Tom et al., 2013) have explored the TD metaphor and outlined a first framework in 2013. Part of the overall TD is to be related to architecture sub-optimal decisions, and it’s regarded as Architecture Technical Debt (ADT). ATD is regarded as violations in the code towards an intended architecture. The problem of visualizing and communicating the ATD is particularly relevant for large companies, where the architecture documentation is not capable of capturing all the updated information for compliance checking of the source code. It’s therefore difficult, both for software architects and managers not involved directly in the development of parts of the system, to monitor and understand the level of current ATD. This, in turn, affects negatively their ability of taking informed decision about the prioritization of architectural improvements and refactorings and about estimating the time needed for product development. ATD has been recognized as part of TD, but the specific phenomenon of accumulation of ATD, its recovery to avoid the later payment of interest (in terms of effort) and the impact (effects) of such interest in future development has not been tackled yet.
منابع مشابه
Technical debt and system architecture: The impact of coupling on defect-related activity
Technical Debt is created when design decisions that are expedient in the short term increase the costs of maintaining and adapting this system in future. An important component of technical debt relates to decisions about system architecture. As systems grow and evolve, their architectures can degrade, increasing maintenance costs and reducing developer productivity. This raises the question i...
متن کاملEstimating the Principal of an Application ’ s Technical Debt
074 0 -74 5 9 /12 / $ 31. 0 0 © 2 012 I E E E Steve McConnell deSCribed technical debt as including both intentional and unintentional violations of good architectural and coding practice1—an expansion of Ward Cunningham’s original focus on intentional decisions to release suboptimal code to achieve objectives such as faster delivery.2 By choosing debt as a metaphor, Cunningham engaged a set of...
متن کاملDebt-Prone Bugs: Technical Debt in Software Maintenance
Fixing bugs is an important phase in software development and maintenance. In practice, the process of bug fixing may conflict with the release schedule. Such confliction leads to a trade-off between software quality and release schedule, which is known as the technical debt metaphor. In this article, we propose the concept of debt-prone bugs to model the technical debt in software maintenance....
متن کاملA Flowchart for Rapid Technical Debt Management Decision Making
Technical debt is known as delaying certain software maintenance tasks during software development life cycle to meet development goals in a short run. Such compromise increases maintenance cost in a way like growing financial interest in later development of software life cycle. Despite all the negative impact induced by technical debt, enterprise architects have to leverage between incurring ...
متن کاملToward Predicting Architectural Significance of Implementation Issues
In a software system’s development lifecycle, engineers make numerous design decisions that subsequently cause architectural change in the system. Previous studies have shown that, more often than not, these architectural changes are unintentional by-products of continual software maintenance tasks. The result of inadvertent architectural changes is accumulation of technical debt and deteriorat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014